package com.mzz.behavior.classandclass.observer;

/**
 * 主题
 * @author xushijian
 * @date 18/5/10上午9:18
 */
public interface Subject {

    /**
     * 添加观察者
     *
     * @param observer 观察者
     */
    void add(Observer observer);

    /**
     * 移除观察者
     *
     * @param observer 观察者
     */
    void del(Observer observer);

    /**
     * 通知所有观察者
     */
    void notifyObservers();

    /**
     * 自身操作
     */
    void operation();
}
